package com.coocaa.ops.admin.v1.timedtask.service;


import com.coocaa.ops.admin.v1.timedtask.model.TimedInfoModel;
import com.coocaa.ops.common.core.base.model.ResourceBaseModel;
import com.coocaa.ops.common.core.biz.timedtask.entity.TimedTaskInfoEntity;

import java.util.Map;

/**
 * @author bijiahao
 * @date : 2018/5/22.
 * @description: 定时任务  接口
 *
 */
public interface ITimedTaskService {
    /**
     * 定时任务-取消
     *
     * @param resourceBaseModel
     * @param userId
     * @return
     */
    Map cancelTimedTask(ResourceBaseModel resourceBaseModel, Integer userId);

    /**
     * 获取定时信息
     *
     * @param id
     * @param version
     * @param type
     * @return
     */
    Object getTimedInfo(Integer id, Integer version, String type);

    /**
     * 定时任务限制
     *
     * @return
     */
    Object taskLimit();

    /**
     * 处理版面，板块等定时上架
     *
     * @param timedInfoModel
     * @param resourceType
     */
    void handleTimedTask(TimedInfoModel timedInfoModel, String resourceType);

    /**
     * 执行上架以及更新状态
     *
     * @param entity
     * @return
     */
    boolean execPutShelvesAndUpdateStatus(TimedTaskInfoEntity entity);

}
